package request

type RegisterRequest struct {
	Name string `json:"name" binding:"required"`      // 必填
	Age  int    `json:"age" binding:"gte=18,lte=120"` // 必填，18~120
}

type GetUserInfoRequest struct {
	ID uint `json:"id" binding:"required,gte=1"` // 必填，且必须大于等于 1
}

type UpdateUserRequest struct {
	ID   uint   `json:"id" binding:"required,gte=1"`
	Name string `json:"name"`
	Age  *int   `json:"age" binding:"omitempty gte=18,lte=120"` //*int 表示该字段可以为 nil（未传）
}
type DeleteUserRequest struct {
	ID uint `json:"id" binding:"required,gte=1"`
}

type UserListRequest struct {
	PageRequest
	Keyword string `json:"keyword"` // 可选关键词（模糊搜索）
	MinAge  int    `json:"min_age"` // 最小年龄（可选）
	MaxAge  int    `json:"max_age"`
}

type LoginRequest struct {
	Username string `json:"username" binding:"required"`
	Password string `json:"password" binding:"required"`
}
